package de.tum.in.elitese.wahlsys.persister.persistence_objects;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import de.tum.in.elitese.wahlsys.persister.PersistenceObject;

/**
 * see Table WAHLKABINE
 * 
 * @author Christoph Frenzel
 * 
 */
public class Wahlhelfer extends PersistenceObject {
	private static final List<String> FIELD_NAMES = Collections.unmodifiableList(Arrays.asList(new String[] { "USERNAME", "PASSWORT", "WAHLBEZIRK", "WAHLKREIS", "BUNDESLAND" }));
	private static final String TABLE_NAME = "WAHLHELFER";

	private String fPassword;

	private String fUserName;

	private Wahlbezirk fWahlbezirk;

	public String getPassword() {
		return fPassword;
	}

	@Override
	public List<String> getPersistanceStrings() {
		List<Object> values = new ArrayList<Object>(12);
		values.add(getUserName());
		values.add(getPassword());

		if (getWahlbezirk() != null) {
			values.add(getWahlbezirk().getName());
			values.add(getWahlbezirk().getWahlkreis().getNummer());
			values.add(getWahlbezirk().getWahlkreis().getBundesland().getName());
		} else {
			values.add(null);
			values.add(null);
			values.add(null);
		}

		List<String> result = new ArrayList<String>(1);
		result.add(createInsertString(TABLE_NAME, FIELD_NAMES, Collections.unmodifiableList(values)));
		return result;
	}

	public String getUserName() {
		return fUserName;
	}

	public Wahlbezirk getWahlbezirk() {
		return fWahlbezirk;
	}

	public void setPassword(String string) {
		fPassword = string;
	}

	public void setUserName(String userName) {
		fUserName = userName;
	}

	public void setWahlbezirk(Wahlbezirk wahlbezirk) {
		fWahlbezirk = wahlbezirk;
	}

}
